fb22b674bd8386b5adf5fdf96a4d7336ce0ce993,main/java/PowerPaint/src/com/kreative/paint/io/CKPaintSerializer.java,CKPaintSerializer,serializeObject,#Object#DataOutputStream#,55
Before Change
}
else if (o instanceof Tile) {
Tile v = (Tile)o;
stream.writeInt(v.getX());
stream.writeInt(v.getY());
stream.writeInt(v.getWidth());
stream.writeInt(v.getHeight());
stream.writeInt(BI_TYPE_INT_ARGB);
After Change
int height = v.getHeight();
int matte = v.getMatte();
stream.writeInt(x);
stream.writeInt(y);
stream.writeInt(width);
stream.writeInt(height);
stream.writeInt(matte);
int[] rgb = new int[width * height];
v.getRGB(x, y, width, height, rgb, 0, width);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
DeflaterOutputStream dos = new DeflaterOutputStream(bos);
for (int p : rgb) dos.write((p >> 24) & 0xFF);
for (int p : rgb) dos.write((p >> 16) & 0xFF);
for (int p : rgb) dos.write((p >> 8) & 0xFF);
for (int p : rgb) dos.write(p & 0xFF);
dos.finish();
dos.close();
bos.close();
byte crgb[] = bos.toByteArray();
stream.writeInt(crgb.length);
stream.write(crgb);
} else if (o instanceof TileSurface) {
TileSurface v = (TileSurface)o;
stream.writeInt(v.getX());
stream.writeInt(v.getY());
stream.writeInt(v.getTileWidth());
stream.writeInt(v.getTileHeight());
stream.writeInt(v.getMatte());